package com.yfp.client.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfp.client.domain.OrderDetailWait;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author admin
 * @description 针对表【order_detail_wait(订单预计排队时间)】的数据库操作Mapper
 * @createDate 2024-09-04 13:57:21
 * @Entity com.yfp.client.domain.OrderDetailWait
 */
public interface OrderDetailWaitMapper extends BaseMapper<OrderDetailWait> {

    /**
     * 获取等待数量
     *
     * @param machineId
     * @return
     */
    Integer getAwaitNum(String machineId);

    /**
     * 获取等待时间列表
     *
     * @param machineId
     * @return
     */
    List<OrderDetailWait> getAwaitNumInfo(String machineId);

    /**
     * 获取等待时间列表
     *
     * @param orderDetailIds
     * @return
     */
    List<OrderDetailWait> waitTimes(@Param("orderDetailIds") List<String> orderDetailIds, @Param("machineId") String machineId, @Param("createTime") Date createTime);

    /**
     * 根据订单详情id获取数据
     *
     * @param orderDetailIds
     * @return
     */
    OrderDetailWait getCreateTime(@Param("orderDetailIds") List<String> orderDetailIds);

    /**
     * 更新订单状态
     *
     * @param orderDetailIds
     * @param status
     */
    void updateStatusByOrderDetailId(@Param("orderDetailIds") List<String> orderDetailIds, @Param("status") int status);

    /**
     * 更新前一天的订单状态
     */
    void updateStatus0To2ForPreviousDay();

    /**
     * 获取出餐口
     *
     * @param orderDetailIds
     * @param machineId
     * @return
     */
    List<OrderDetailWait> getOutMealList(@Param("orderDetailIds") List<String> orderDetailIds, @Param("machineId") String machineId);

    /**
     * 根据设备id获取排队信息
     * @param machineId
     * @return
     */
    List<OrderDetailWait> getByMachineId(String machineId);
}




